Basic World Window Controller
iOS port of the gesture-driven camera controller. Mirrors the Android shape — own a set of recognizers, dispatch TouchEvents, translate gestureStateChanged into camera updates.
Properties
Inertial pan animator. Each platform's createFlingScheduler supplies the per-frame clock. The per-frame action dispatches by projection: 2D uses incremental projected-meters math, 3D uses great-circle radians. Picking the right one matters because Mercator metersPerPixel diverges from the 3D radians-on-a-sphere formula away from the equator.
Shared anchor for pinch / rotate / wheel handlers. Lazy because engine may not be initialized yet at controller-construction time.
Trailing-window velocity tracker used to seed fling on gesture release.
Functions
Cancels any in-progress inertial pan ("fling"). The host calls this on every touch start before routing the event downstream.
Programmatic pinch entry for Mac trackpad's native UIPinchGestureRecognizer - UITouch-based PinchRecognizer doesn't see indirect (trackpad) pinches.
Programmatic rotation entry for Mac trackpad's UIRotationGestureRecognizer - UITouch-based RotationRecognizer doesn't see indirect (trackpad) rotations.
Programmatic tilt entry for Mac trackpad two-finger pan.